package org.hbm.mybatis;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class TestMybatis {
	public static void main(String[] args) throws IOException {
		// 加载全局配置文件
		InputStream ism = Resources.getResourceAsStream("mybatis.xml");
		// 创建SessionFactory
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(ism);
		// 打开SqlSession
		SqlSession session = factory.openSession();
		// 发起数据库操作I（单条数据）
//		User user = session.selectOne("test.getCustomerById",2);
//		System.out.println(user);
		// 数据库操作II（List）多条数据
//		List<User> list = session.selectList("test.getCustomerList", "%o%");
//		for (User u : list) {
//			System.out.println(u);
//		}
		// 关闭SqlSession
		//session.close();
		//打开SqlSession
		//session= factory.openSession();
		//用户可以不用输入%符号（去查看映射文件）即UserMapper.xml
//		session.selectList("test.getCustomerList2", "o");
//		for (User user2 : list) {
//			System.out.println(user2);
//		}
		//session.close();
		//-----------插入数据--------------------
		//打开SqlSession
//		session = factory.openSession();
		//数据库操作
//		User u1=new User("张死");
//		session.insert("test.ins",u1);
//		session.commit();
//		session.close();
		//----------------获取数据主键--------
		//打开SqlSession
//		session = factory.openSession();
		//数据库操作
//		User u2=new User("张三");
//		session.insert("test.ins",u2);
//		session.commit();
//		session.close();
		//----------------主键用uuid的场合--------
		//打开SqlSession
		//session = factory.openSession();
		//数据库操作
		User u3=new User("张傻");
		session.insert("test.insUUID",u3);
		session.commit();
		session.close();
		
	}

}
